<?php
namespace app\admin\controller;
use think\Controller;//引用（加载）视图类
use think\Db;

class User extends Controller 
// 类名首字母一定要大写 
{

	public function index()
    {
        $u=Db::name("users")->select();
        //Db 数据库类；name（表名） 返回二维数组
        $this->assign("users",$u);
        // dump($u);
    
        return $this->fetch();
        //fetch获取对应的视图层的模版文件，显示模版文件
    }
    public function edit(){
    	$uid=input('param.uid');
    	$user=Db::name("users")->find($uid);
    	echo json_encode($user);
    }
    public function update(){
    	$info = "";
    	$file = request()->file('pic');
    	if ($file) {
    		$info = $file->rule('uniqid')->move(ROOT_PATH . 'public' . DS . 'static' . DS . 'images');
    		
    	}

    	if (request()->isPOST()) {
    		$uname=input('param.uname');

    			
    		$data=[
    				'uname'=>input('param.uname'),
    				'password'=>md5(input('param.password')),
    				'pic'=>$info->getFilename(),
    				'gender'=>input('param.gender'),
    				'birthdate'=>input('param.birthdate'),
    				'email'=>input('param.email'),
    			];
            
            // $num=Db::name("users")->where("uname='$data[uname]'")->count();
            
    		$res=Db::name("users")->where("uname='$data[uname]'")->update($data);

    		if($res){
    			$this->success("用户信息修改成功");
    		}else{
    			$this->error("用户信息修改失败");
    		}
            // if($res>0){
            //     $this->error("用户名重复");
            //     $this->error("用户信息修改失败");
            // }else{
            //     $this->success("用户信息修改成功");
            // }
    	}

    }

    public function add(){
    	$info = "";
    	$file = request()->file('pic');
    	if ($file) {
    		$info = $file->rule('uniqid')->move(ROOT_PATH . 'public' . DS . 'static' . DS . 'images');
    		
    	}

    	if (request()->isPOST()) {
    		$uname=input('param.uname');

    			
    		$data=[
    				'uname'=>input('param.uname'),
    				'password'=>md5(input('param.password')),
    				'pic'=>$info->getFilename(),
    				'gender'=>input('param.gender'),
    				'birthdate'=>input('param.birthdate'),
    				'email'=>input('param.email'),
    			];
    		
    		# code...
    	}

        $validate = \think\Loader::validate('User');
        if(!$validate->check($data)){
            $this->error($validate->getError());
        }
        
    	//判断重复
    	$num=Db::name("users")->where("uname='$data[uname]'")->count();
    	if ($num>0) 
    		$this->error('用户名重复');
    		

    	$res=Db::name("users")->insert($data);
    		if($res){
    			$this->success("添加用户成功");
    		}else{
    			$this->error("添加用户失败");
    		}

    }

    public function delete($id){
    	//删头像
        $u=Db::name("users")->find($id);
        $this->assign("users",$u);
        $filename=ROOT_PATH. 'public' . DS . 'static'.DS.'images'.DS.$u["pic"];//到图片的对应路径
        unlink($filename);//删除文件
    	if(Db::name("users")->delete($id)){
    		$this->success('删除成功');
    	}else $this->error('删除失败');
    }
    


}